/**
 * Created with IntelliJ IDEA.
 * Description:数据类型
 * User: LianBao
 * Date: 2024-01-22
 * Time: 20:00
 */
public class WPRE20240122 {
    public static void main1(String[] args) {
//        float f = 12.5;  //12.5默认是double
        float f = 12.5f;
        System.out.println(Integer.MAX_VALUE);
//        System.out.println(2147483647+1);//2147483647+1还需要运算,不算字面值在这个地方
//        System.out.println(2147483648);->error字面值不能超过最大值
        System.out.println(f);
        //字符类型
        //java使用的是Unicode字符集(2个字节),支持更多国家的语言,包含ASCII,只是比ASCII多
        //C语言用的是ASCII字符集,支持英文
        //包装类型是Character
        System.out.println(Character.MAX_RADIX);
        char ch = 'a';
        char ch1 = '连';//一个汉字就是2个字节
        System.out.println(ch);
        System.out.println(ch1);

        //bool类型boolean
        //boolean要么是true要么是false和C语言不一样,与int类型不能相互转化
        boolean b1 = true;
        boolean b2 = false;
    }


    public static void main2(String[] args) {
        //类型转换:不同类型的变量不能相互赋值,需要类型转换,不相干的类型不能转换(布尔类型和数值类型)
        int a = 10;
        long b = 8L;
//        a = b;错误,不能直接赋值
//        b = a;a,b都是整型a的范围小,b的范围大,a赋值给b时,编译器会自动将a提升为long然后赋值(隐式类型转换)
        //强制类型转换(显示类型转换):与C语言一样的
        a = (int)b;
        char a1 = 'a';
        double d =1.1;
        d = (double)a1;
    }

    public static void main3(String[] args) {
        int a = 10;
        long b = 20;
        long c = a+b;
        System.out.println(c);

        byte b1 = 10;
        byte b2 = 20;
//        byte c1 = b1 + b2;小于4字节的数据会提升为4字节,b1+b2结果是4字节了
        int c1 = b1 + b2;
    }

    public static void main(String[] args) {
        //字符串类型,不存在以字符串结尾这个说法
        String a = "Hello!";
        String b = "My name is LianBao";
        int c = 10;
        int d = 20;
        System.out.println(a);
        System.out.println(b);
        System.out.println(a+b);
        System.out.println("c:"+c); //字符串和整数在一起使用+号,+号就是拼接,输出c:10
        System.out.println("c:"+c+d);//c:1020
        System.out.println(c+d+"c:");//30c:
        //从左往右计算,遇到字符串就是拼接

        //把整数变成字符串:
        //1.整数+""
        String str = c + "";
        System.out.println(str);
        //2.借助方法
        String ret =String.valueOf(10);
        System.out.println(ret);
        //字符串变成整数
        String str1 = "1234";
        int a1 = Integer.parseInt(str1);
        System.out.println(a1+1);
    }
}
